// pages/add_qx/add_qx.js
var common = require("../../utils/public.js")
var api = require("../../utils/api");
Page({

  /**
   * 页面的初始数据
   */
  data: {
    items: [{
      id: 1,
      imgUrl: '../../images/cctx.jpg',
      wechat: 'jtsx0512',
      name: '藏额外生的水果店',
      phone: '18012347855',
      qx: ['支付', '收货', '售后', '押金'],
      isTouchMove: false
    }, {
      id: 2,
      imgUrl: '../../images/cctx.jpg',
      wechat: 'jtsx0512',
      name: '藏额外生的水果店',
      phone: '18012347855',
      qx: ['支付', '收货'],
      isTouchMove: false
    }, {
      id: 3,
      imgUrl: '../../images/cctx.jpg',
      wechat: 'jtsx0512',
      name: '藏额外生的水果店',
      phone: '18012347855',
      qx: ['支付', '收货', '售后', '押金'],
      isTouchMove: false
    }],
    startX: 0, //开始坐标
    startY: 0,
    records:''
  },
  //手指触摸动作开始 记录起点X坐标
  touchstart: function (e) {
    var that = this;
    //开始触摸时 重置所有删除
    that.data.records.forEach(function (v, i) {
      if (v.isTouchMove) //只操作为true的
        v.isTouchMove = false
    })
    that.setData({
      startX: e.changedTouches[0].clientX,
      startY: e.changedTouches[0].clientY,
      records: that.data.records
    })
  },
  //滑动事件处理
  touchmove: function (e) {
    
    var that = this,
      index = e.currentTarget.dataset.index, //当前索引
      startX = that.data.startX, //开始X坐标
      startY = that.data.startY, //开始Y坐标
      touchMoveX = e.changedTouches[0].clientX, //滑动变化坐标
      touchMoveY = e.changedTouches[0].clientY, //滑动变化坐标
      angle = that.angle({
        X: startX,
        Y: startY
      }, {
          X: touchMoveX,
          Y: touchMoveY
        }); //获取滑动角度
    that.data.records.forEach(function (v, i) {
      v.isTouchMove = false
      //滑动超过30度角 return
      if (Math.abs(angle) > 30) return;
      if (i == index) {
        if (touchMoveX > startX) //右滑
          v.isTouchMove = false
        else //左滑
          v.isTouchMove = true
      }
    })

    //更新数据
    that.setData({
      records: that.data.records
    })
  },
  // 计算滑动角度
  angle: function (start, end) {
    var _X = end.X - start.X,
      _Y = end.Y - start.Y;
    //返回角度 /Math.atan()返回数字的反正切值
    return 360 * Math.atan(_Y / _X) / (2 * Math.PI);
  },
  //删除事件
  del: function (e) {
    var that = this;
    api.userDel({
      id :e.currentTarget.dataset.id
    }).then(res => {
      if (res.result) {
        that.data.records.splice(e.currentTarget.dataset.index, 1)
          that.setData({
           records: that.data.records
          })
      }else{
        wx.showToast({
          title: '操作失败',
          icon:'none'
        })
      }
    })

   

  },
  // 跳转下一页
  add: common.throttleFunc(function (e) {
    wx.navigateTo({
      url: '/pages/add_qx2/add_qx2'
    })
  }),

  userDetail: common.throttleFunc(function (e) {
  
    wx.navigateTo({
      url: '/pages/add_qx1/add_qx1?imgUrl=' + e.currentTarget.dataset.imgurl + '&userId=' + e.currentTarget.dataset.userid
    })
  }),

  
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    let that=this
    api.userList({
     page:{

     }
    }).then(res => {
      if (res.result){
        
        res.object.records.forEach(function(v){
          v.isTouchMove=false
        })
         that.setData({
           records: res.object.records
         })
      }
    })
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {
    let that = this
    api.userList({
      page: {

      }
    }).then(res => {
      if (res.result) {

        res.object.records.forEach(function (v) {
          v.isTouchMove = false
        })
        that.setData({
          records: res.object.records
        })
      }
    })
  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})